1.1. Time Sharing Systems
In most large computing systems a timesharing computing environment is implemented. As illustrated in FIG. 15, such a system may include "resources" such as one or more central processing units (CPUs) 2 configured to share components such as main memory 3, disk or tape storage 4, and a printer 6. The system may also include user terminals such as workstations WA and WB, which in many implementations may have their own local resources such as one or more CPUs and associated main memory (not shown) as well as perhaps a printer 7 and disk storage 8. The CPU(s) 2 execute program sequences that cause the CPUs to process commands and requests transmitted by users from the workstations WA and WB in accordance with known timesharing methods.
In such an environment, the system resources are centrally managed by a trusted authority. Because the central authority controls all access to the system resources, it is often fully trusted. In other words, the central authority is designed and maintained to ensure that the security plan for the timesharing system is properly implemented. In such timesharing environments, when a "principal" on the system (e.g., a user) requests access to a system "resource" (e.g., a printer or file server) the central trusted authority determines whether the principal possesses the necessary security attributes to access the resource. If so, the trusted authority allows the access.
In these timesharing computer systems and the like, almost all access control is handled by the central trusted authority. As such, the trustworthiness of the central authority must be maintained. Because of the importance in having a trusted central authority, many prior art devices have emphasized the importance of having a single, trusted controlling authority.